<?php


namespace app\manage\controller;

use app\manage\model\Token;
use think\Validate;
class System
{

    public function __construct()
    {
        $this->token=new Token();
        $this->system=new \app\manage\model\System();
    }

    /**
     * 基础设置
     */
    public function basicSet(){
        $returnData=$this->system->basicSet();

        returnJson(200,'success',$returnData);
    }

    /**
     * 基础设置--提交
     */
    public function basicSetSubmit(){
        $param=input();
        $validate = new Validate([
            ['free_gold_day', 'require', '免费体验金卡服务天数不能为空'],
            ['gold_direct_push', 'require', '金卡/钻卡第一代推荐奖不能为空'],
            ['gold_inter_push', 'require', '金卡/钻卡第二代推荐奖不能为空'],
            ['silver_direct_push', 'require', '银卡/普卡第一代推荐奖不能为空'],
            ['silver_inter_push', 'require', '银卡/普卡第二代推荐奖不能为空'],

            ['sliver_annual_fee', 'require', '升级银卡年费不能为空'],
            ['golden_annual_fee', 'require', '升级金卡年费不能为空'],
            ['drill_annual_fee', 'require', '升级钻卡年费不能为空'],
            ['upgrade_coin_pop', 'require', '会员升级金币抵扣比例不能为空'],

            ['exp_agree_price', 'require', '爆品商城协议价倍数不能为空'],
            ['exp_coin', 'require', '爆品商城金币倍数不能为空'],
            ['rebate_agree_price', 'require', '返利商城协议价倍数不能为空'],
            ['rebate_buyer_pop', 'require', '返利商城买家返利比例不能为空'],
            ['share_direct_price', 'require', '一代分享金比例不能为空'],
            ['share_inter_price', 'require', '二代分享金比例不能为空'],
            ['platform_price', 'require', '平台管理费不能为空'],

            ['copper_money', 'require', '铜客晋升条件进货金额不能为空'],
            ['copper_pop', 'require', '铜客分享积分奖不能为空'],
            ['silver_money', 'require', '银客晋升条件进货金额不能为空'],
            ['silver_pop', 'require', '银客分享积分奖不能为空'],
            ['gold_money', 'require', '金客晋升条件进货金额不能为空'],
            ['gold_pop', 'require', '金客分享积分奖不能为空'],
            ['proportion', 'require', '结算比例不能为空'],
            ['gold_type', 'require', '返金币状态不能为空'],

            ['buyer', 'require', '买家消费返利奖不能为空'],
            ['direct_push', 'require', '联盟商家一代分享金不能为空'],
            ['inter_push', 'require', '联盟商家二代分享金不能为空'],
            ['invest', 'require', '联盟商家招商奖不能为空'],
            ['city_company', 'require', '联盟商家城市子公司不能为空'],
            ['platform', 'require', '联盟商家平台管理费不能为空'],
            ['merchant_award', 'require', '联盟商家招募奖不能为空'],

            ['reg_coin', 'require', '新会员注册奖不能为空'],
            ['invt_coin', 'require', '会员邀请奖不能为空'],
            ['day_shop_sign', 'require', '店招商品收费金额不能为空'],

            ['min_escrow_amount', 'require', '最低托管佣金额不能为空'],
            ['release_agree_amount', 'require', '发布协议金额不能为空'],
            ['sign_party_a', 'require', '签约甲方金额不能为空'],
            ['sign_party_b', 'require', '签约乙方金额不能为空'],
            ['advert_price', 'require', '广告发布奖不能为空'],
            ['advert_direct_price', 'require', '广告发布直推奖不能为空'],
        ]);
        if(!$validate->check($param))
        {
            returnJson(-2003,$validate->getError());
        }


        $this->system->basicSetPost($param);

        returnJson(200,'操作成功');

    }

    /**
     * 订单流程设置 order_process_set
     */
    public function orderSet(){
        header('Access-Control-Allow-Origin:*');
        header('Access-Control-Allow-Methods:*');
        header('Access-Control-Allow-Headers:*');
        header('Access-Control-Allow-Credentials:false');

        $data=$this->system->orderSet();

        $returnData=json_decode($data);

        returnJson(200,'success',$returnData);
    }

    /**
     * 订单流程设置 提交
     */
    public function orderSetSubmit(){
        $param=input();
        $validate = new Validate([
            ['confirm_day', 'require', '自动确认收货天数不能为空'],
            ['finish_day', 'require', '允许售后申请天数不能为空'],
            ['close_day', 'require', '为支付订单自动关闭天数不能为空'],
        ]);
        if(!$validate->check($param))
        {
            returnJson(-2003,$validate->getError());
        }
        $data['confirm_day']=$param['confirm_day'];
        $data['finish_day']=$param['finish_day'];
        $data['close_day']=$param['close_day'];
        $info=json_encode($data);

        $this->system->orderSetPost($info);

        returnJson(200,'操作成功');
    }


    /**
     * 物流设置  express_log_set
     */
    public function logSet(){

        $data=$this->system->logSet();

        $returnData=json_decode($data);

        returnJson(200,'success',$returnData);
    }

    /**
     * 物流设置--提交
     */
    public function logSetSubmit(){
        $param=input();
        $validate = new Validate([
            ['delivery_type', 'require', '配送方式不能为空'],
            ['account', 'require', '快递100账号不能为空'],
            ['key', 'require', '快递100key不能为空'],
        ]);
        if(!$validate->check($param))
        {
            returnJson(-2003,$validate->getError());
        }
        $data['delivery_type']=$param['delivery_type'];
        $data['account']=$param['account'];
        $data['key']=$param['key'];
        $info=json_encode($data);

        $this->system->logSetPost($info);

        returnJson(200,'操作成功');
    }

    /**
     * 客服及分享设置  service_share_set
     */
    public function shareSet(){

        $data=$this->system->shareSet();

        $returnData=json_decode($data);

        returnJson(200,'success',$returnData);
    }

    /**
     * 客服及分享设置 --提交
     */
    public function shareSetSubmit(){
        $param=input();
        $validate = new Validate([
            ['service_tel', 'require', '客服电话不能为空'],
            ['share_title', 'require|max:50', '分享文字不能为空|分享长度不能超过50'],
        ]);
        if(!$validate->check($param))
        {
            returnJson(-2003,$validate->getError());
        }
        $data['service_tel']=$param['service_tel'];
        $data['share_title']=$param['share_title'];
        $info=json_encode($data);

        $this->system->shareSetPost($info);

        returnJson(200,'操作成功');
    }

    /**
     * 系统公告 列表
     */
    public function noticeList(){
        $param=input();
        $page=empty($param['current_page']) ? 1 : $param['current_page'];
        $page_size=empty($param['page_num']) ? 10: $param['page_num'];

        $returnData=$this->system->noticeList($page,$page_size);

        returnJson(200,'success',$returnData);
    }

    /**
     * 系统公告 添加-提交
     */
    public function noticeAdd(){
        $param=input();
        $validate = new Validate([
            ['content', 'require', '公告内容不能为空'],
        ]);
        if(!$validate->check($param))
        {
            returnJson(-2003,$validate->getError());
        }

        $data['content']=$param['content'];
        //$data['type']=1;
        $data['create_time']=time();

        $this->system->noticeAdd($data);

        returnJson(200,'操作成功');

    }

    /**
     * 系统公告 编辑页面
     */
    public function noticeEdit(){
        $id=input('h_id');

        $returnData=$this->system->noticeDetail($id);

        returnJson(200,'success',$returnData);

    }

    /**
     * 系统公告 编辑提交
     */
    public function noticeSubmit(){
        $param=input();
        $validate = new Validate([
            ['content', 'require', '公告内容不能为空'],
            ['id', 'require', '公告id不能为空'],
        ]);
        if(!$validate->check($param))
        {
            returnJson(-2003,$validate->getError());
        }

        $this->system->noticeAdd($param);

        returnJson(200,'操作成功');
    }

    /**
     * 系统公告 删除
     */
    public function noticeDel(){
        $id=input('id');

        $this->system->noticeDel($id,1);

        returnJson(200,'操作成功');

    }

    /**
     * 系统公告  批量删除
     */
    public function noticeDelAll(){
        $id=input('ids'); //数组

        $this->system->noticeDel($id,2);

        returnJson(200,'操作成功');
    }

    /**
     * 意见反馈 列表
     */
    public function feedbackList(){
        $param=input();
        $page=empty($param['current_page']) ? 1 : $param['current_page'];
        $page_size=empty($param['page_num']) ? 10: $param['page_num'];

        $returnData=$this->system->feedbackList($page,$page_size);

        returnJson(200,'success',$returnData);
    }

    /**
     * 意见反馈 删除
     */
    public function feedbackDel(){
        $id=input('f_id');

        $this->system->feedbackDel($id,1);

        returnJson(200,'操作成功');

    }

    /**
     * 意见反馈  批量删除
     */
    public function feedbackDelAll(){
        $id=input('f_ids'); //数组

        $this->system->feedbackDel($id,2);

        returnJson(200,'操作成功');
    }


    /**
     * 意见反馈 详情
     */
    public function feedbackDetail(){
        $id=input('f_id');

        $returnData=$this->system->feedbackDetail($id);

        returnJson(200,'success',$returnData);

    }

    /**
     * 行业分类--列表
     */
    public function industryList(){
        $param=input();
        $page=empty($param['current_page']) ? 1 : $param['current_page'];
        $page_size=empty($param['page_num']) ? 10: $param['page_num'];

        $data=$this->system->industryList();

        returnJson(200,'success',$data);
    }

    /**
     * 行业分类--查询下级
     */
    public function lowerIndustry(){
        $id=input('industry_id');

        $data=$this->system->lowerIndustry($id);

        returnJson(200,'success',$data);
    }

    /**
     * 行业分类--添加，编辑 页面 一级分类列表
     */
    public function industry(){
        $data=$this->system->industry();

        returnJson(200,'success',$data);
    }

    /**
     * 行业分类  ----添加
     */
    public function industryAdd(){
        $param=input();
        $validate = new Validate([
            ['industry_name', 'require', '行业名称不能为空'],
            ['parent_id', 'require', '上级分类id不能为空'],
        ]);
        if(!$validate->check($param))
        {
            returnJson(-2003,$validate->getError());
        }

        $this->system->industryAdd($param);

        returnJson(200,'操作成功');
    }

    /**
     * 行业分类----编辑页面
     */
    public function industryEdit(){
        $id=input('industry_id');
        $data=$this->system->industryDetail($id);

        returnJson(200,'success',$data);
    }

    /**
     * 行业分类----编辑提交
     */
    public function industrySubmit(){
        $param=input();
        $validate = new Validate([
            ['industry_name', 'require', '行业名称不能为空'],
            ['industry_id', 'require', '行业分类id不能为空'],
        ]);
        if(!$validate->check($param))
        {
            returnJson(-2003,$validate->getError());
        }

        $this->system->industryAdd($param);

        returnJson(200,'操作成功');
    }

    /**
     * 行业分类  ----删除
     */
    public function industryDel(){
        $id=input('industry_id');
        $this->system->industryDel($id);

        returnJson(200,'操作成功');
    }

    public function test(){
        //随机生成1位字母
       /* $a=chr(mt_rand(65, 90));
        dump($a);*/

       $d=$this->system->getRandomString(2);
       dump($d);
    }

}